const p1 = new Promise((resolve) => {
    setTimeout(() => {   // 宏1
        resolve('resolve3');  // 无效
        console.log('timer1')
    }, 0)
    resolve('resovle1');  // 改状态
    resolve('resolve2');  // 无效
}).then(res => {   // 微1
    console.log(res)
    setTimeout(() => {   // 宏2
        console.log(p1)
    }, 1000)
}).finally(res => {
    console.log('finally', res)
});


// resovle1 -> finally undefined -> timer1 -> Promise{<resolved>: 'resovle1'}


// 最后一个定时器打印出的p1其实是.finally的返回值，我们知道.finally的返回值如果在没有抛出错误的情况下
// 默认会是上一个Promise的返回值, 而这道题中.finally上一个Promise是.then()
// 但是这个.then()并没有返回值，所以p1打印出来的Promise的值会是undefined
  
  